package com.ssy.lingxi.sms.api.model;

import lombok.Data;

import javax.validation.constraints.NotEmpty;
import java.io.Serializable;

/**
 * 签名
 * @author jw.chen
 * @version 2.0.0
 * @date 2020/6/12
 */
@Data
public class SignVO implements Serializable {
    private static final long serialVersionUID = -2403991726347423022L;
    /**
     * 待修改的签名ID
     */
    @NotEmpty(message = "签名ID不能为空")
    private Long signId;
    /**
     * 签名名称
     */
    @NotEmpty(message = "签名名称不能为空")
    private String signName;
    /**
     *签名类型。其中每种类型后面标注了其可选的 DocumentType（证明类型）：
     * 0：公司（0，1，2，3）。
     * 1：APP（0，1，2，3，4） 。
     * 2：网站（0，1，2，3，5）。
     * 3：公众号或者小程序（0，1，2，3，6）。
     * 4：商标（7）。
     * 5：政府/机关事业单位/其他机构（2，3）。
     * 注：必须按照对应关系选择证明类型，否则会审核失败。
     */
    @NotEmpty(message = "签名类型不能为空")
    private Long signType;
    /**
     *证明类型：
     * 0：三证合一。
     * 1：企业营业执照。
     * 2：组织机构代码证书。
     * 3：社会信用代码证书。
     * 4：应用后台管理截图(个人开发APP)。
     * 5：网站备案后台截图(个人开发网站)。
     * 6：小程序设置页面截图(个人认证小程序)。
     * 7：商标注册书。
     */
    @NotEmpty(message = "证明类型不能为空")
    private Long documentType;
    /**
     *是否国际/港澳台短信：
     * 0：表示国内短信。
     * 1：表示国际/港澳台短信。
     */
    @NotEmpty(message = "是否国际/港澳台短信不能为空")
    private Long international;
    /**
     *签名用途：
     * 0：自用。
     * 1：他用。
     */
    @NotEmpty(message = "签名用途不能为空")
    private Long usedMethod;
    /**
     *签名对应的资质证明图片需先进行 base64 编码格式转换，将转换后的字符串去掉前缀data:image/jpeg;base64,再赋值给该参数。
     */
    @NotEmpty(message = "资质证明图片不能为空")
    private String proofImage;
    /**
     *委托授权证明。选择 UsedMethod 为他用之后需要提交委托的授权证明。
     * 图片需先进行 base64 编码格式转换，将转换后的字符串去掉前缀data:image/jpeg;base64,再赋值给该参数。
     * 注：只有 UsedMethod 在选择为 1（他用）时，这个字段才会生效。
     */
    private String commissionImage;
    /**
     *签名的申请备注
     */
    private String remark;
}
